package com.jymj.dao;

import com.jymj.entity.KeyValueEntity;
import com.jymj.entity.dto.ApplyDto;
import com.jymj.entity.model.PointAndTypeEntity;
import com.jymj.entity.zjd.ApplyCountEntity;
import com.jymj.entity.zjd.ApplyEntity;
import com.jymj.entity.zjd.ApplyFwEntity;
import com.jymj.entity.zjd.ZjdCountEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by ljj on 2018/8/30.
 */
@Mapper
public interface ApplyDao extends BaseDao<ApplyEntity> {

    List<ApplyEntity> queryList(ApplyDto applyDto);

    List<ApplyEntity> queryObjectByylId(Integer objectid);

    ZjdCountEntity queryAllCount(@Param("point") String point, @Param("code") String code);

    void saveEntity(ApplyEntity apply);

    void saveApplyFw(@Param("applyFwEntities") List<ApplyFwEntity> applyFwEntities,
                     @Param("applyId") Integer applyId, @Param("ylId") Integer ylId,
                     @Param("landId") Integer landId);

    List<KeyValueEntity> getSummary(ApplyDto applyDto);

    void updateApplyFw(ApplyFwEntity applyFwEntity);

    int deleteFjfw(@Param("ids") Long[] ids);

    KeyValueEntity queryStatistical(ApplyDto applyDto);

    List<ApplyCountEntity> queryCount1(PointAndTypeEntity pointAndTypeEntity);

    List<ApplyCountEntity> queryCount2(PointAndTypeEntity pointAndTypeEntity);

    List<ApplyCountEntity> queryCount3(PointAndTypeEntity pointAndTypeEntity);

    List<ApplyCountEntity> queryCount4(PointAndTypeEntity pointAndTypeEntity);

    ApplyEntity getIdCad(@Param("idCard") String idCard);
}
